把微信小程序放到 iPhone 桌面的方法(非URL Scheme)

更新(2021/12/31)

我似乎找到了更适合的方式来做这件事:通过长按应用图标唤起的菜单(苹果的 Quick Action,安卓叫 App Shortcuts) 看图:

这样不仅避免了手工创建快捷指令的麻烦,还让安卓也支持一键访问,又统一了两个平台的交互,简直一石三 🐦 啊。。

跨时空app打开小程序

但仍存在个问题:菜单长度有限,不能加太多快捷方式,后续打算把这块做成可配置的,敬请期待。顺祝元旦快乐~

背景

因为疫情原因,每天上班进公司门需要查验粤康码,粤康码藏在粤省事小程序的二级页面,打开不太方便。就想着有没有办法一键直达。安卓系统是支持创建桌面快捷方式,但貌似也无法指定特定页面。另一个跨系统通用的方法,是通过生成小程序的 URL Scheme 链接,形如:weixin://dl/business/?ticket=xxxxxx , 但前提是你得是这个小程序的属主,无法做到任意小程序跳转。

恰好这段时间在研究 Flutter 开发,发现通过 app 打开小程序没有诸多限制,甚至连“在微信中打开此页”的提醒都没有,确实能做到一键直达。再配合“深链接(deepLink)”,就可以将打开微信小程序的能力,创建到系统桌面。接下来看看具体步骤。

操作步骤

更详细的步骤可以到微信视频号搜 kainy 观看之前制作的一个视频教程,步骤大同小异,只是那段时间微信没验证 ticket,直接通过浏览器就可以打开小程序。现在无法绕过了,必须安装一个 app 也就是上述第一步安装的跨时空app

原理

在一开始有提到,这个直达方法的本质,就是整合了深链接和微信SDK的打开小程序能力。

  • 首先,点击桌面快捷方式的时候,系统识别到 t.kainy.cn 域名,唤起跨时空 app ;
  • app 接收到完整的 URL,并解析出 userName 和 path 参数;
  • 调用微信SDK唤起微信小程序。

摸索这个功能的出发点,是观察到家里老人很难快速找到需要的小程序,一方面是老人家对新事物的接受较慢;另一方面微信对小程序入口有过几次较大的变动,即便是添加过“我的小程序”列表,一个UI调整就可能让他们找不到整个列表。导致的结果就是,和老人家进出公共场所的时候不仅要整自己的码,还要顾上身边老人的,一时间手忙脚乱,特别是人多时候,安检员也顾不过来。最后发现这个方法确实挺方便的,就自己也用上了 😁

交流反馈群

跨时空APP交流群

附录:微信常用小程序 URL Scheme 整理

via:v2ex

以下 URL Scheme 直接用是打开不了微信小程序的,但是可以从中取到所需的 userName 和 path 参数,拼接到上诉 URL 即可~

粤康码:

1
2
3
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_1ac06b5a8f4e&path=operation_plus/pages/yiqing/daka/user/index/index.html

穗康码:

1
2
3
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_8052c0bb85ba&path=packages/health-code/pages/report-health/index.html

微信乘车码:

1
2
3
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_3cf62f4f1d52

通信行程卡:

1
2
3
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_0ed5d82fd775

深i您健康码:

1
2
3
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_9c23268d5db7&path=pages/mine/todo/code/code.html

深圳平安门禁:

1
2
3
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_2946562bd6a9

上海随申码:

1
2
3
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_d4acc9de8978&path=pages/suishenma/jiankangma/index.html?needLogin=false&scene=0

北京健康宝-本人健康码页面:

1
2
3
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_e3b81975fe3c&path=pages/jxzq/cha-xun-jie-guo/index.html?isOpenBDCheck=1&code=false

渝康码:

1
2
3
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_8950e79a44c2&path=packages/health-code/pages/report-health/index.html

苏康码:

1
2
3
支付宝 URL Scheme:

alipays://platformapi/startapp?appId=2018062060350751&page=%2Fpages%2Fweb%2Fweb%3Furl%3Dhttps%3A%2F%2Fjsstm.jszwfw.gov.cn%2FjkmIndex.html

河北健康码:

1
2
3
4
5
6
7
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_21c954017d6d

(支付宝)

alipays://platformapi/startapp?appId=2021002100611022

四川天府健康通:

1
2
3
4
5
6
7
URL Scheme:

weixin://dl/business/?t=Je3MKDRpAWv

(支付宝)

alipays://platformapi/startapp?appId=2021002116662889&page=pages/index/index

南昌赣通码:

1
2
3
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_50f6b41ceee6&path=pages/second/health_cards/healthcards.html

山东电子健康码:

1
2
3
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_77e3cb5f3991

辽事通:

1
2
3
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_3bdf8fd1bfe1&path=pages/passCode/main.html

西安市民一码通:

1
2
3
URL Scheme:

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_e40e571e6cb4&path=pages/webview/webview.html?url=https://data.xa.gov.cn/ptrace/view/qrcode.html

福建八闽健康码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
URL Scheme:

支付宝健康码

alipays://platformapi/startapp?appId=2021002125635929

支付宝扫张贴码

alipays://platformapi/startapp?appId=2021002125635929&page=pages/scan/scan

微信健康码

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_72145ecf601b

微信扫张贴码

weixin://app/wxd930ea5d5a258f4f/jumpWxa/?userName=gh_72145ecf601b&path=pages/scan/scan.html
分享到:

评论完整模式加载中...如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理